Supply chain planning is the planning of a network of interconnected businesses involved in an ultimate provision of product and service packages required by end customers. Supply chain planning can entail all movement and storage of raw materials, work-in-process inventory, and finished goods from point of origin to point of consumption (identified as a “supply chain”). Supply chain planning can also encompass the planning of all activities involved in sourcing, procurement, conversion, and logistics management.
Conventional supply chain planning systems are generally run utilizing batch processing. Batch processing is an execution of a series of programs on a computer without manual intervention. In a batch processing scenario, planning data is collected from enterprise resource planning (“ERP”) systems and loaded into a database. A planning engine is then run in a batch mode. As the planning engine runs in the batch mode, the planning engine loads the planning data from the database and creates an object residing in an memory of the computer. The planning engine then runs various algorithms on the in-memory object to generate a supply chain planning solution corresponding to the plan that is persisted back into the database. Once the solution is persisted back into the database, the batch run completes, and a user can view the solution from the database.
Conventional supply chain planning systems which utilize batch processing can have an end-to-end runtime of over eight hours. Furthermore, during the batch processing time period, the user cannot interact with the supply chain planning system. For example, while the batch process is ongoing, the user cannot make changes to the planning data, generate a new plan, or run a planning algorithm on the in-memory object in order to perform an alternative scenario analysis on the generated plan.